home *** CD-ROM | disk | FTP | other *** search
- /*
- * wconfig.h- default configuration and definitions + compile time options
- *
- * WindowMaker window manager
- *
- * Copyright (c) 1997-1999 Alfredo K. Kojima
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
- #ifndef WMCONFIG_H_
- #define WMCONFIG_H_
-
- #include "config.h"
-
- /*** Change it (wconfig.h) *after* you ran configure ***/
-
- /*
- *--------------------------------------------------------------------
- * Feature Selection
- *
- * Comment out the following #defines if you want to
- * disable a feature.
- * Also check the features you can enable through configure.
- *--------------------------------------------------------------------
- */
-
-
- /*
- * #undefine if you dont want texture plugin support or your system have
- * some sort of problem with them.
- */
- #define TEXTURE_PLUGIN
-
- #ifdef TEXTURE_PLUGIN
- #define DRAWSTRING_PLUGIN
- #endif
-
-
- /* undefine ANIMATIONS if you don't want animations for iconification,
- * shading, icon arrangement etc. */
- #define ANIMATIONS
-
-
- /*
- * undefine USECPP if you don't want your config files to be preprocessed
- * by cpp
- */
- #define USECPP
-
- /* #define CPP_PATH /usr/local/bin/cpp */
-
- /*
- * support for OffiX DND drag and drop in the Dock
- */
- #define OFFIX_DND
-
- /*
- * support for XDND drop in the Dock. Experimental
- */
- #ifdef GNOME_STUFF
- #define XDND
- #endif
-
- /*
- * support for Motif window manager (mwm) window hints
- */
- #define MWM_HINTS
-
-
- /*
- * Undefine BALLOON_TEXT if you don't want balloons for showing extra
- * information, like window titles that are not fully visible.
- */
- #define BALLOON_TEXT
-
- /*
- * If balloons should be shaped or be simple rectangles.
- * The X server must support the shape extensions and it's support
- * must be enabled (default).
- */
- #define SHAPED_BALLOON
-
-
- /*
- * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
- * automatically started when WindowMaker crashes. The X session will die
- * in some cases if wmaker crashes and autorestart is disabled.
- */
- #undef NO_EMERGENCY_AUTORESTART
-
- /*
- * The window manager that is autorestarted
- */
- #define FALLBACK_WINDOWMANAGER "blackbox"
-
-
- /* Define if you have a 5 button mouse and want to use button 4
- * (in the root window) for switching to the previous workspace
- * and 5 for the next. This will not work if you enable
- * DisableWSMouseActions or compile wmaker with --enable-lite */
- #undef MOUSE_WS_SWITCH
-
- /*
- * Turn on a hack to make mouse and keyboard actions work even if
- * the NumLock or ScrollLock modifiers are turned on. They might
- * inflict a performance/memory penalty.
- *
- * If you're an X expert (knows the implementation of XGrabKey() in X)
- * and knows that the penalty is small (or not), please tell me.
- */
- #define NUMLOCK_HACK
-
-
-
- /*
- * define EXTEND_WINDOWSHORTCUT if you want 10 window shortcuts instead of 4.
- */
- #define EXTEND_WINDOWSHORTCUT
-
-
-
- /*
- * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
- * for applications that change their shape frequently (like xdaliclock
- * -shape), removing flickering. If wmaker and your display are on
- * different machines and the network connection is slow, it is not
- * recommended.
- */
- #undef OPTIMIZE_SHAPE
-
- /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
- * the synthetic ConfigureNotify event to windows while moving at every
- * single movement. Default is to send a synthetic ConfigureNotify event
- * only at the end of window moving, which improves performance.
- */
- #undef CONFIGURE_WINDOW_WHILE_MOVING
-
-
- /*
- * disable/enable workspace indicator in the dock
- */
- #undef WS_INDICATOR
-
-
- /*
- * define HIDDENDOT if you want a dot to be shown in the application icon
- * of applications that are hidden.
- */
- #define HIDDENDOT
-
-
- /*
- * Ignores the PPosition hint from clients. This is needed for some
- * programs that have buggy implementations of such hint and place
- * themselves in strange locations.
- */
- #undef IGNORE_PPOSITION
-
-
- /*
- * Do not scale application icon and miniwindow icon images.
- */
- #undef DONT_SCALE_ICONS
-
-
-
-
-
-
- #define SILLYNESS
-
-
-
-
-
- /*
- *..........................................................................
- * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
- * They will only add unneeded bloat.
- *..........................................................................
- */
-
- /*
- * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
- * AfterStep, instead of the default Openstep look.
- * NEXTSTEP 3.3 also does not have these shadows.
- */
- #undef SHADOW_RESIZEBAR
-
- /*
- * Define DEMATERIALIZE_ICON if you want the undocked icon animation
- * to be a progressive disaparison animation.
- * This will cause all application icons to be created with Save Under
- * enable.
- */
- #undef DEMATERIALIZE_ICON
-
- /*
- * Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
- * explosion animation.
- */
- #undef ICON_KABOOM_EXTRA
-
- /*
- * #undef if you dont want the window creation animation when superfluous
- * is enabled.
- */
- #undef WINDOW_BIRTH_ZOOM
-
- /*
- * whether arrow drawing in clip buttons should be gradiented
- */
- #undef GRADIENT_CLIP_ARROWS
-
- /*
- * define DEFINABLE_CURSOR if you want WindowMaker's default cursor
- * to be user-definable instead of using a hard-coded left_ptr.
- */
- #undef DEFINABLE_CURSOR
-
-
- /*
- *--------------------------------------------------------------------
- * Default Configuration
- *
- * Some of the following options can be configured in
- * the preference files, but if for some reason, they can't
- * be used, these defaults will be.
- * There are also some options that can only be configured here,
- * at compile time.
- *--------------------------------------------------------------------
- */
-
- /* list of paths to look for the config files, searched in order
- * of appearance */
- #define DEF_CONFIG_PATHS \
- "~/GNUstep/Library/WindowMaker:"PKGDATADIR
-
- #define DEF_MENU_FILE "menu"
-
- /* name of the script to execute at startup */
- #define DEF_INIT_SCRIPT "autostart"
-
- #define DEF_EXIT_SCRIPT "exitscript"
-
- #define DEFAULTS_DIR "Defaults"
-
- #ifdef USE_TIFF
- #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
- #else
- #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
- #endif
-
- /* the file of the system wide submenu to be forced into the main menu */
- /* remove the comments if you want it */
- /*
- #define GLOBAL_SUBMENU_FILE PKGDATADIR"/GlobalMenu"
- */
-
- /* pixmap path */
- #define DEF_PIXMAP_PATHS \
- "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
-
- #ifdef USER_MENU
- #define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
- #define DEF_USER_MENU_PATHS \
- "~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_PATH
- #endif
-
- /* icon path */
- #define DEF_ICON_PATHS \
- "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
-
-
- /* window title to use for untitled windows */
- #define DEF_WINDOW_TITLE "Untitled"
-
- /* default style */
- #define DEF_FRAME_COLOR "white"
-
-
- #ifdef I18N_MB
- #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
- #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
- #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
- #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
- #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
- #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
- #define DEF_ADDITONAL_FONT "-*-*-medium-r-normal--12-*"
-
- #define DEF_WORKSPACE_NAME_FONT "\"-*-*-medium-r-normal--24-*\""
- #else /* !I18N_MB */
- #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
- #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
- #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
- #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
- #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
- #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
-
- #define DEF_WORKSPACE_NAME_FONT "\"-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*\""
- #endif /* !I18N_MB */
-
- #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
-
- #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
-
- #define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
- #define DEF_MENU_TITLE_EXTEND_SPACE "0"
- #define DEF_MENU_TEXT_EXTEND_SPACE "0"
- #define TITLEBAR_EXTEND_SPACE 4
-
- #define DEF_XPM_CLOSENESS 40000
-
- /* default position of application menus */
- #define DEF_APPMENU_X 10
- #define DEF_APPMENU_Y 10
-
- /* calculate window edge resistance from edge resistance */
- #define WIN_RESISTANCE(x) (((x)*20)/30)
-
- /* Window level where icons reside */
- #define NORMAL_ICON_LEVEL WMNormalLevel
-
- /* do not divide main menu and submenu in different tiers,
- * opposed to OpenStep */
- #define SINGLE_MENULEVEL
-
- /* max. time to spend doing animations in seconds. If the animation
- * time exceeds this value, it is immediately finished. Usefull for
- * moments of high-load.
- */
- #define MAX_ANIMATION_TIME 1
-
- /* Zoom animation */
- #define MINIATURIZE_ANIMATION_FRAMES_Z 5
- #define MINIATURIZE_ANIMATION_STEPS_Z 12
- #define MINIATURIZE_ANIMATION_DELAY_Z 500
- /* Twist animation */
- #define MINIATURIZE_ANIMATION_FRAMES_T 12
- #define MINIATURIZE_ANIMATION_STEPS_T 16
- #define MINIATURIZE_ANIMATION_DELAY_T 1000
- #define MINIATURIZE_ANIMATION_TWIST_T 0.5
- /* Flip animation */
- #define MINIATURIZE_ANIMATION_FRAMES_F 12
- #define MINIATURIZE_ANIMATION_STEPS_F 16
- #define MINIATURIZE_ANIMATION_DELAY_F 1000
- #define MINIATURIZE_ANIMATION_TWIST_F 0.5
-
-
- #define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
-
- /* delay before balloon is showed */
- #define BALLOON_DELAY 1000
-
- /* delay for menu item selection hysteresis */
- #define MENU_SELECT_DELAY 200
-
- /* delay for jumpback of scrolled menus */
- #define MENU_JUMP_BACK_DELAY 400
-
- /* *** animation speed constants *** */
-
- /* icon slide */
- #define ICON_SLIDE_SLOWDOWN_UF 20
- #define ICON_SLIDE_DELAY_UF 0
- #define ICON_SLIDE_STEPS_UF 15
-
- #define ICON_SLIDE_SLOWDOWN_F 30
- #define ICON_SLIDE_DELAY_F 0
- #define ICON_SLIDE_STEPS_F 10
-
- #define ICON_SLIDE_SLOWDOWN_M 40
- #define ICON_SLIDE_DELAY_M 0
- #define ICON_SLIDE_STEPS_M 5
-
- #define ICON_SLIDE_SLOWDOWN_S 50
- #define ICON_SLIDE_DELAY_S 0
- #define ICON_SLIDE_STEPS_S 3
-
- #define ICON_SLIDE_SLOWDOWN_U 50
- #define ICON_SLIDE_DELAY_U 3
- #define ICON_SLIDE_STEPS_U 3
-
- /* menu scrolling */
- #define MENU_SCROLL_STEPS_UF 14
- #define MENU_SCROLL_DELAY_UF 0
-
- #define MENU_SCROLL_STEPS_F 10
- #define MENU_SCROLL_DELAY_F 5
-
- #define MENU_SCROLL_STEPS_M 6
- #define MENU_SCROLL_DELAY_M 5
-
- #define MENU_SCROLL_STEPS_S 4
- #define MENU_SCROLL_DELAY_S 6
-
- #define MENU_SCROLL_STEPS_U 1
- #define MENU_SCROLL_DELAY_U 8
-
-
- /* shade animation */
- #define SHADE_STEPS_UF 5
- #define SHADE_DELAY_UF 0
-
- #define SHADE_STEPS_F 10
- #define SHADE_DELAY_F 0
-
- #define SHADE_STEPS_M 15
- #define SHADE_DELAY_M 0
-
- #define SHADE_STEPS_S 30
- #define SHADE_DELAY_S 0
-
- #define SHADE_STEPS_U 20
- #define SHADE_DELAY_U 10
-
-
- /* workspace name on switch display */
- #define WORKSPACE_NAME_FADE_DELAY 30
-
- #define WORKSPACE_NAME_DELAY 400
-
- /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
- #define WINDOW_BIRTH_STEPS 20
-
- /* number of steps for icon dematerialization. */
- #define DEMATERIALIZE_STEPS 16
-
- /* Delay when cycling colors of selected icons. */
- #define COLOR_CYCLE_DELAY 200
-
- /* size of the pieces in the undocked icon explosion */
- #define ICON_KABOOM_PIECE_SIZE 4
-
-
- /* Position increment for smart placement. >= 1 raise these values if it's
- * too slow for you */
- #define PLACETEST_HSTEP 8
- #define PLACETEST_VSTEP 8
-
-
- #define DOCK_EXTRA_SPACE 0
-
- /* Vicinity in which an icon can be attached to the clip */
- #define CLIP_ATTACH_VICINITY 1
-
- #define CLIP_BUTTON_SIZE 23
-
-
- /* The amount of space (in multiples of the icon size)
- * a docked icon must be dragged out to detach it */
- #define DOCK_DETTACH_THRESHOLD 3
-
- /* Delay (in ms) after which the clip will autocollapse when leaved */
- #define AUTO_COLLAPSE_DELAY 1000
-
- /* Delay (in ms) after which the clip will autoexpand when entered.
- * Set this to zero if you want instant expanding. */
- #define AUTO_EXPAND_DELAY 600
-
- /* Delay (in ms) after which the clip will be lowered when leaved */
- #define AUTO_LOWER_DELAY 1000
-
- /* Delay (in ms) after which the clip will be raised when entered.
- * Set this to zero if you want instant raise. */
- #define AUTO_RAISE_DELAY 600
-
-
- /* Max. number of icons the clip can have */
- #define CLIP_MAX_ICONS 32
-
- /* blink interval when invoking a menu item */
- #define MENU_BLINK_DELAY 60000
- #define MENU_BLINK_COUNT 2
-
- #define CURSOR_BLINK_RATE 300
-
- #define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
- * and other objects */
-
- #define KEY_CONTROL_WINDOW_WEIGHT 1
-
- #define HRESIZE_THRESHOLD 3
-
- #define MAX_WORKSPACENAME_WIDTH 16
- #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
- * window list */
-
- #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
- * changes in the config files */
-
- /* if your keyboard don't have arrow keys */
- #undef ARROWLESS_KBD
-
-
- /* don't put titles in miniwindows */
- #undef NO_MINIWINDOW_TITLES
-
-
- #define FRAME_BORDER_COLOR "black"
-
-
- /* for boxes with high mouse sampling rates (SGI) */
- #define DELAY_BETWEEN_MOUSE_SAMPLING 10
-
-
- /*
- *----------------------------------------------------------------------
- * You should not modify the following values, unless you know
- * what you're doing.
- *----------------------------------------------------------------------
- */
-
-
- /* number of window shortcuts */
- #ifdef EXTEND_WINDOWSHORTCUT
- # define MAX_WINDOW_SHORTCUTS 10
- #else
- # define MAX_WINDOW_SHORTCUTS 4
- #endif
-
-
- #define WM_PI 3.14159265358979323846
-
- #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
-
- #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
- #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
- #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
-
- #define MENU_INDICATOR_SPACE 12
-
- /* minimum size for windows */
- #define MIN_WINDOW_SIZE 5
-
- #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
-
- #define ICON_WIDTH 64 /* size of the icon window */
- #define ICON_HEIGHT 64
- #define ICON_BORDER_WIDTH 2
-
- #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
- #define MAX_ICON_HEIGHT 48
-
- /* KDE may have problems with more than 32 workspaces */
- #ifdef KWM_HINTS
- # define MAX_WORKSPACES 32
- #else
- # define MAX_WORKSPACES 100
- #endif
-
- #define MAX_MENU_TEXT_LENGTH 512
-
- #define MAX_RESTART_ARGS 16
-
- #define MAX_COMMAND_SIZE 1024
-
- #define MAX_DEAD_PROCESSES 128
-
-
- #define MAXLINE 1024
-
-
- #ifdef _MAX_PATH
- # define DEFAULT_PATH_MAX _MAX_PATH
- #else
- # define DEFAULT_PATH_MAX 512
- #endif
-
-
- #define DEBUG0
-
- /* some rules */
-
- #ifndef SHAPE
- #undef SHAPED_BALLOON
- #endif
-
- #ifdef XKB_MODELOCK
- #define KEEP_XKB_LOCK_STATUS
- /* This is a hidden feature.
- * choose one between 2 of these hints. Icon can be changed
- * in def_pixmaps.h and default icon is now for Thai language only.
- * More icons are welcome.
- */
- #define XKB_BUTTON_HINT
- #undef LANGUAGE_TH
- #endif
-
- #ifndef DEMATERIALIZE_ICON
- # define NORMAL_ICON_KABOOM
- #endif
-
- #if HAVE_LIBINTL_H && I18N
- # include <libintl.h>
- # define _(text) gettext(text)
- #else
- # define _(text) (text)
- #endif
-
-
- #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
- # define INLINE inline
- #else
- # define INLINE
- #endif
-
- #endif /* WMCONFIG_H_ */
-
-